import Vector from "../common/calc/vector"

/**
 * 干扰物类
 * @param x
 * @param y
 * @param range
 * @constructor
 */
function Interferencer(x, y, range) {
    this.pos = new Vector(x, y);  // 干扰物的所处位置
    this.range = range;  // 干扰物的干扰范围

    // 干扰物的绘制方法
    this.draw = function (canvas) {
        let ctx = canvas.getContext("2d");
        // 保存canvas状态
        ctx.save();
        // canvas平移
        ctx.translate(this.pos.x, this.pos.y);
        // 绘制干扰中心
        ctx.beginPath();
        ctx.fillStyle = "white";
        ctx.moveTo(0, 0);
        ctx.arc(0, 0, 3, 0, 2 * Math.PI, false);
        ctx.fill();
        ctx.closePath();
        // 绘制干扰范围
        ctx.beginPath();
        ctx.fillStyle = "rgba(255,255,255,0.35)";
        ctx.arc(0, 0, this.range, 0, 2 * Math.PI, false);
        ctx.fill();
        ctx.closePath();
        ctx.restore();
    }
}

export default Interferencer;